/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controle;

import classes.BancoDeDados;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import modelo.Veterinario;

/**
 *
 * @author cardodav
 */
public class VeterinarioDAO {
    
    public VeterinarioDAO(){
    
    }

   
    public Veterinario getVeterinarioByNome(String nome ){    
        return this.getVeterinario("V.NOME = '" + nome + "'");
    }    

    public Veterinario getVeterinarioByCRV(int CRV){    
        return this.getVeterinario("V.CRV = " + CRV + "");
    }

    public Veterinario getVeterinarioByCodigoPessoa(int codigoPessoa){    
        return this.getVeterinario("P.CODIGOPESSOA = " + codigoPessoa + "");
    }
    
    private Veterinario getVeterinario(String criterio)
    {
    
        Veterinario _vet = new Veterinario();
        
        BancoDeDados bd = new BancoDeDados();
        String query = "select P.CODIGOPESSOA, P.NOME, V.CRV from pessoa p, veterinario v where P.CODIGOPESSOA = V.CODIGOPESSOA";
        if (criterio != null){        
            query += " and " + criterio;
        }
        
        ResultSet rs = bd.consultar(query);
        
        try{
            if (rs.next()){
                _vet.setNome(rs.getString("NOME"));
                _vet.setCodigoPessoa(rs.getInt("CODIGOPESSOA"));
                _vet.setCRV(rs.getInt("CRV"));
            }   
        }catch(Exception ex){
            System.out.println(ex.getMessage());
        }     
        
        bd.desconectar();
        return _vet;        
    }
    
    public List<Veterinario> getVeterinarios(){
    
        List<Veterinario> _vets = new ArrayList<Veterinario>();
        
        BancoDeDados bd = new BancoDeDados();
        String query = "select P.CODIGOPESSOA, P.NOME, V.CRV from pessoa p, veterinario v where P.CODIGOPESSOA = V.CODIGOPESSOA";        
        
        ResultSet rs = bd.consultar(query);
        
        try{
            while(rs.next()){                
                Veterinario _v = new Veterinario();
                
                _v.setNome(rs.getString("NOME"));
                _v.setCodigoPessoa(rs.getInt("CODIGOPESSOA"));
                _v.setCRV(rs.getInt("CRV"));

                _vets.add(_v);
            }   
        }catch(Exception ex){
            System.out.println(ex.getMessage());
        }    
        
        return _vets;    
    
    }
    
}
